/*
 * Copyright (C) 2025 by Fonoster Inc (https://fonoster.com)
 * http://github.com/fonoster/fonoster
 *
 * This file is part of Fonoster
 *
 * Licensed under the MIT License (the "License");
 * you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *    https://opensource.org/licenses/MIT
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { useNavigate } from "react-router";
import { Logger } from "~/core/shared/logger";
import { Splash } from "../splash/splash";
import { useEffect } from "react";

export const ErrorLayout = ({ errorCode }: { errorCode: number }) => {
  const navigate = useNavigate();

  useEffect(() => {
    Logger.error(`[ErrorBoundary]: An error occurred with code ${errorCode}`);

    const time = setTimeout(() => {
      Logger.debug("[ErrorBoundary]: Redirecting to home page");
      navigate("/");
    }, 10_000);

    return () => {
      clearTimeout(time);
    };
  }, []);

  return <Splash message="Loading Fonoster Services... Please wait." />;
};
